14
תגובות

הבדל בין echo לdie

פתח web12 ,
מה ההבדל בין שני הדברים?
תודה יום טוב :)

14 תשובות

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

die הורג את הסקריפט - מה שנכתב אחרי פקודה זו לא יתבצע.
ו echo פשוט מדפיס.

avatar ענה web12 ב 23 לאוגוסט 2012 #

מז"א לא יתבצע?

avatar ענה web12 ב 23 לאוגוסט 2012 #

עכשיו הבנתי :)
הסבר לכאלה שלא מבינים (אם יש כאלה :])

ניקח לדוגמא שיש לנו מערכת משתמשים, במידה והמשתמש לא רשם כלום בשדה מסויים, נניח בשדה הסיסמא, נירצה שתקפוץ לו הערה על כך ששדה הססימא ריק ועליו לכתוב משהו, אז אם נשתמש בDie המשתמש יועבר לדף אחר, וההודעה תופיע לו בדף האחר, אך אם נשתמש בEcho ההודעה תקפוץ לו באותו דף.

מקווה שהסברתי נכון :)

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

ממש לא.
הכוונה בלא מתבצע זה שנגיד יש לי קוד כזה:

<?php
  echo "s";
  echo "sss";
?>

והוספתי die ככה:
<?php
  echo "s";
  die();
  echo "sss"; // זה לא מיתבצע
?>

אז מה שבא אחריו לא מתבצע, ובחיים אל תעשה DIE במערכת משתמשים.

avatar ענה web12 ב 23 לאוגוסט 2012 #

אני לא רואה שוני בין ההסבר שלי לשלך... בכל זאת אתה יותר מנוסה :)

ולמה בחיים לא לעשות die במערכת משתמשים?

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

כי die עוצר את הקוד - תוקע אותו.

avatar ענה mat ב 23 לאוגוסט 2012 #

בכלל לא מובן למה עשו את ה die הזה.
תמיד היה אפשר לעשות. במקומו.

echo "blabla";
exit;


וזה אכן ההבדל בניהם.

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

exit; //no reason

die("reason");


בexit אין סיבה ב die יש..

avatar ענה mat ב 23 לאוגוסט 2012 #

נכון אבל אם ככה יש לי המון פונקציות יעילות להציע להם לעשות.

avatar ענה JBStyle ב 23 לאוגוסט 2012 #

רפאל, שתי הפונקציות זהות לחלוטין, גם בDIE אתה יכול להשתמש בלי לציין סטטוס .
בכל אופן אני חושב שהשואל הבין מה זה עושה .

avatar ענה web12 ב 23 לאוגוסט 2012 #

הבנתי תודה :)

avatar ענה nirbe ב 24 לאוגוסט 2012 #

בקיצור, "הורג" את הקוד שבא אחרי, כאילו לא כתבת אותו.

avatar ענה razand ב 24 לאוגוסט 2012 #

אפשר לעשות גם

exit("reason");

avatar ענה OrelBeY ב 25 לאוגוסט 2012 #

אם תשתמש בזה בכל פעם שיש לך שגיאה - הקוד יהיה די גרוע ומבנה העמוד ייהרס.